// 'a显示标记生命周期
// s1 和 s2 的生命周期必须与返回值的生命周期相同
fn longest<'a>(s1: &'a str, s2: &'a str) -> &'a str {
    if s1.len() > s2.len() {
        s1
    } else {
        s2
    }
}

fn main() {
    let nickname;
    {
        let name = String::from("Iceman");
        nickname = &name;
        // nickname借用name
    }
    // 作用域结束 内存引用结束 nickname悬空 name无效
    // 报错
    // println!("{}", r);
}
